Code-excited linear prediction (CELP) is a speech coding technique used to produce high quality synthesized speech. This class of speech coding, also known as vector-excited linear prediction, is used in numerous speech communication and speech synthesis applications. CELP is particularly applicable to digital speech encryption and digital radiotelephone communications systems wherein speech quality, data rate, size and cost are significant issues.
In a CELP speech coder, the long-term (pitch) and the short-term (formant) predictors which model the characteristics of the input speech signal are incorporated in a set of time varying filters. Namely, a long-term and a short-term filter. An excitation signal for the filters is chosen from a codebook of stored innovation sequences, or codevectors.
For each frame of speech, the speech coder applies an individual codevector to the filters to generate a reconstructed speech signal. The reconstructed speech signal is compared to the original input speech signal, creating an error signal. The error signal is then weighted by passing it through a spectral noise weighting filter having a response based on human auditory perception. The optimum excitation signal is determined by selecting a codevector which produces the weighted error signal with the minimum energy for the current frame of speech.
For each speech frame a set of linear predictive coding parameters are produced by a coefficient analyzer. The parameters typically include coefficients for the long term, short term and spectral noise weighting filters.
The filtering operations due to a spectral noise weighting filter can constitute a significant portion of a speech coder's overall computational complexity, since a spectrally weighted error signal needs to be computed for each codevector from a codebook of innovation sequences. Typically a compromise between the control afforded by and the complexity due to the spectral noise weighting filter needs to be reached. A technique which would allow an increased control of the frequency shaping introduced by the spectral noise weighting filter, without a corresponding increase in weighting filter complexity, would be a useful advance in the state of the art of speech coding.